<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<script>
  setTimeout(function () {
    console.log("t1：", this); // Window
  }, 1000);

  console.log("outer this", this); // Window

  setTimeout(() => {
    console.log("t2：", this); // Window
  }, 1000);

  const obj = {
    a() {
      setTimeout(function () {
        console.log("t3：", this); // Window
      }, 1000);

      console.log("inner this", this); // obj对象

      setTimeout(() => {
        console.log("t4：", this); // obj对象
      }, 1000);
    }
  };

  obj.a();

  // 问题：箭头函数中的this是如何查找的
  // 解答：向外层作用域中，一层层查找this，直到有this的定义
</script>
</body>
</html>